home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 February / Macworld (1999-02).dmg / Games World / SharewareGames / Xconq 7.2.2 / lib / space.g < prev    next >
Text File  |  1998-05-22  |  7KB  |  317 lines

  1. (game-module "space"
  2.   (title "Space Empires")
  3.   (variants (world-size (120 60 9999)))
  4.   )
  5.  
  6. ;;; Unit types.
  7.  
  8. (unit-type army (image-name "soldiers")
  9.   (help "military force, equipped with in-system ships"))
  10. (unit-type engineers (image-name "builder")
  11.   (help "construction team, equipped with in-system ships"))
  12.  
  13. ;; Starships.
  14.  
  15. (unit-type transport (image-name "space-transport")
  16.   (help ""))
  17. (unit-type fighter (image-name "space-fighter")
  18.   (help ""))
  19. (unit-type cruiser (image-name "space-cruiser")
  20.   (help ""))
  21.  
  22. (define starships (transport fighter cruiser))
  23.  
  24. (unit-type starbase (image-name "mothership")
  25.   (help "staging and refueling post in deep space"))
  26. (unit-type shipyard (image-name "facility")
  27.   (help "where starships get built"))
  28.  
  29. (define places (starbase shipyard))
  30.  
  31. (unit-type small-planet (image-name "moon")
  32.   (help ""))
  33. (unit-type earthlike-planet (image-name "planet")
  34.   (help ""))
  35. (unit-type gas-giant
  36.   (help "large planet with no surface, can only orbit"))
  37. (unit-type ringed-gas-giant
  38.   (help "large planet with rings but no surface, can only orbit"))
  39. (unit-type asteroid-belt
  40.   (help "a region of small planetoids, rich in metal"))
  41.   
  42. (define solid-planets (small-planet earthlike-planet asteroid-belt))
  43.  
  44. (define planets (small-planet earthlike-planet gas-giant ringed-gas-giant asteroid-belt))
  45.  
  46. (unit-type yellow-star
  47.   (description-format (name))
  48.   (help "normal mainstream star"))
  49. (unit-type red-giant
  50.   (description-format (name))
  51.   (help "large reddish star, can have planets"))
  52. (unit-type black-hole
  53.   (help "large reddish star"))
  54.  
  55. (define stellar (yellow-star red-giant black-hole))
  56.  
  57. ;;; Material types.
  58.  
  59. (material-type fuel
  60.   (help "mixture of gases, powers everything"))
  61. (material-type metal
  62.   (help "used to build everything"))
  63.  
  64. ;;; Terrain types.
  65.  
  66. (imf "off-black" ((1 1) 5000 5000 5000))
  67. (imf "gray-black" ((1 1) 10000 10000 10000))
  68.  
  69. (terrain-type deep-space (image-name "space")
  70.   (help "interstellar space"))
  71. (terrain-type nebula
  72.   (help "area of gas, masks area behind"))
  73. (terrain-type star-system (image-name "gray-black")
  74.   (help "area around a star"))
  75.  
  76. ;;; Static relationships.
  77.  
  78. ;;; Unit-unit.
  79.  
  80. (table unit-size-as-occupant
  81.   (u* u* 99)
  82.   ((army engineers) transport 1)
  83.   ((army engineers) planets 1)
  84.   (starships places 1)
  85.   (starships planets 1)
  86.   (places planets 1)
  87.   )
  88.  
  89. (add transport capacity 4)
  90. (add places capacity 16)
  91. (add planets capacity 32)
  92. (add earthlike-planet capacity 64)
  93.  
  94. ;;; Unit-terrain.
  95.  
  96. (table unit-size-in-terrain
  97.   (engineers t* 0)
  98.   ;; Any number of starships can share the same space.
  99.   (starships t* 0)
  100.   (planets t* 1)
  101.   ;; Near-stellar regions are offlimits.
  102.   (stellar t* 1)
  103.   )
  104.  
  105. ;;; Unit-material.
  106.  
  107. (table unit-storage-x
  108.   ((army engineers) fuel 100)
  109.   (starships fuel (200 18 400))
  110.   (places fuel 500)
  111.   (planets fuel (200 500 5000 5000 200))
  112.   )
  113.  
  114. ;;; Vision.
  115.  
  116. (set terrain-seen true)
  117.  
  118. ;; Stars are always obvious.
  119.  
  120. (add stellar see-always true)
  121.  
  122. (add u* vision-bend 0)
  123.  
  124. (add u* vision-range 5)
  125. (add transport vision-range 3)
  126. (add cruiser vision-range 7)
  127. (add planets vision-range 10)
  128.  
  129. (add nebula thickness 100)
  130.  
  131. (table eye-height
  132.   (u* t* 5)
  133.   )
  134.  
  135. ;;; Actions.
  136.  
  137. (add army acp-per-turn 1)
  138. (add engineers acp-per-turn 1)
  139. (add places acp-per-turn 1)
  140. (add solid-planets acp-per-turn 1)
  141.  
  142. (add starships acp-per-turn (3 9 6))
  143.  
  144. ;;; Movement.
  145.  
  146. (add places speed 0)
  147. (add starbase speed 1)
  148. (add planets speed 0)
  149.  
  150. (table mp-to-enter-terrain
  151.   ;; Armies and engineers have in-system ships only; they can
  152.   ;; survive if set adrift in deep space, but won't go anywhere.
  153.   ((army engineers) deep-space 99)
  154.   )
  155.  
  156. ;(table mp-to-leave-unit
  157. ;  ;; Starbases and shipyards don't have the engines to leave orbit?
  158. ;  (places planets 99)
  159. ;  )
  160.  
  161. ;;; Construction.
  162.  
  163. (add (army engineers) cp (5 10))
  164. (add starships cp (10 5 20))
  165.  
  166. (table acp-to-create
  167.   (engineers places 1)
  168.   (shipyard starships 1)
  169.   (solid-planets (army engineers) 1)
  170.   (asteroid-belt starships 1)
  171.   )
  172.  
  173. (table acp-to-build
  174.   (engineers places 1)
  175.   (shipyard starships 1)
  176.   (solid-planets (army engineers) 1)
  177.   (asteroid-belt starships 1)
  178.   )
  179.  
  180. ;;; Combat.
  181.  
  182. (add (army engineers) hp-max (9 3))
  183. (add starships hp-max (4 1 8))
  184. (add planets hp-max 100)
  185.  
  186. (table hit-chance
  187.   (u* u* 0)
  188.   (army (army engineers) 50)
  189.   (engineers (army engineers) 50)
  190.   (army planets 100)
  191.   (cruiser starships 50)
  192.   )
  193.  
  194. (table damage
  195.   (u* u* 0)
  196.   (army planets 1)
  197.   (cruiser starships 1)
  198.   )
  199.  
  200. (table capture-chance
  201.   (army planets 20)
  202.   (army stellar 50)
  203.   (army black-hole 0)
  204.   (cruiser starships 20)
  205.   )
  206.  
  207. (table independent-capture-chance
  208.   (army planets 100)
  209.   (army stellar 100)
  210.   (army black-hole 0)
  211.   )
  212.  
  213. ;; (should have protection by occupying armies)
  214.  
  215. ;;; Backdrop.
  216.  
  217. (table base-consumption
  218.   ((army engineers) fuel 1)
  219.   (starships fuel 1)
  220.   )
  221.  
  222. (table hp-per-starve
  223.   ((army engineers) fuel 1.00)
  224.   ;; Starships have a very short grace period.
  225.   (starships fuel 0.50)
  226.   )
  227.  
  228. ;;; Random setup.
  229.  
  230. (add t* alt-percentile-min (  0   0  97))
  231. (add t* alt-percentile-max ( 97  97 100))
  232. (add t* wet-percentile-min (  0  94   0))
  233. (add t* wet-percentile-max ( 94 100 100))
  234.  
  235. (set alt-blob-size 7)
  236. (set alt-blob-height 1000)
  237. (set alt-blob-density 100)
  238. (set alt-smoothing 1)
  239.  
  240. (set country-radius-min 4)
  241. (set country-separation-min 30)
  242. (set country-separation-max 32)
  243.  
  244. (add shipyard start-with 2)
  245. (add small-planet start-with 2)
  246. (add earthlike-planet start-with 1)
  247. (add gas-giant start-with 1)
  248. (add asteroid-belt start-with 1)
  249. (add yellow-star start-with 1)
  250.  
  251. (table favored-terrain
  252.   (u* t* 0)
  253.   (engineers star-system 100)
  254.   (shipyard star-system 100)
  255.   (planets star-system 100)
  256.   (stellar star-system 100)
  257.   ;; Black holes could actually have planets, but they would be
  258.   ;; unusable, so ignore them.
  259.   (black-hole star-system 0)
  260.   (black-hole (deep-space nebula) 100)
  261.   )
  262.  
  263. (table independent-density
  264.   (planets star-system (1000 500 1000 200 500))
  265.   (yellow-star star-system 1000)
  266.   (red-giant star-system 200)
  267.   (black-hole (deep-space nebula) 10)
  268.   )
  269.  
  270. (table unit-initial-supply
  271.   ;; All pre-existing units are fully fueled.
  272.   (u* fuel 10000)
  273.   )
  274.  
  275. (scorekeeper (do last-side-wins))
  276.  
  277. (add stellar namer "star-names")
  278.  
  279. (namer star-names (grammar root 30
  280.   (root (or name 20 (letter " " constellation)))
  281.   (name (or
  282.     "Achernar" "Adhara" "Aldebaran" "Algol" "Altair" "Antares" "Arcturus"
  283.     "Betelgeuse"
  284.     "Canopus" "Castor" "Capella"
  285.     "Deneb"
  286.     "Hadar"
  287.     "Mimosa" "Miraz"
  288.     "Polaris" "Pollux" "Procyon"
  289.     "Regulus" "Rigel"
  290.     "Sirius" "Spica"
  291.     "Vega"
  292.     ))
  293.   (letter (or "Alpha" "Beta" "Gamma" "Delta" "Epsilon" "Zeta" "Eta" "Theta"
  294.               "Iota" "Kappa" "Lambda"))
  295.   (constellation (or ; Note that these are in the genitive form
  296.     "Andromedae" "Antliae" "Apodis" "Aquarii" "Aquilae" "Arae" "Arietis" "Aurigae"
  297.     "Bootis"
  298.     "Caeli" "Cameleopardalis" "Cancri" "Capricorni" "Centauri" "Cephei"
  299.     "Ceti" "Corvi" "Crucis" "Cygni"
  300.     "Delphini" "Doradus" "Draconis"
  301.     "Eridani"
  302.     "Fornacis"
  303.     "Geminorum"
  304.     "Herculis" "Hydrae"
  305.     "Indi"
  306.     "Lacertae" "Leonis" "Librae" "Lupi" "Lyncis" "Lyrae"
  307.     "Monocerotis" "Muscae"
  308.     "Ophiuchi" "Orionis"
  309.     "Pavonis" "Pegasi" "Phoenicis" "Piscium" "Pyxidis"
  310.     "Reticuli"
  311.     "Sagittae" "Sagitarii" "Scorpii"
  312.     "Tauri" "Tucana"
  313.     "Ursa Major" "Ursa Minor"
  314.     "Velorum" "Virginis" "Volantis" "Vulpecula"
  315.     ))
  316.   ))
  317.